home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_200 / 269_01 / ucvideo.h < prev    next >
Text File  |  1987-05-15  |  4KB  |  178 lines

  1. /***************************************************************************
  2.  *                                                                         *
  3.  *                             ucvideo.h                                   *
  4.  *                                                                         *
  5.  *    This header supplies all the definitions required to deal with  the  *
  6.  *    the vidoe state of the machine.                                      *
  7.  *                                                                         *
  8.  ***************************************************************************/
  9.  
  10. /*  Storage for current information  */
  11.  
  12. extern  short  vmode;    /* current mode   */
  13. extern  short  vwidth;   /* current width  */
  14. extern  short  vpage ;   /* current page   */
  15.  
  16. #define MAXMODE  16      /* maximum video mode available */
  17.  
  18. /*  Set limits on video screen size */
  19.  
  20. extern short maxrow[MAXMODE];
  21. extern short maxcol[MAXMODE];
  22. extern short maxpage[MAXMODE];
  23.  
  24. /* possible display types */
  25.  
  26. #define MONO_D   1
  27. #define COLOR_D  2
  28.  
  29. /* Possible cursor modes */
  30.  
  31. #define CURSOR_OFF  0
  32. #define CURSOR_ON   1
  33.  
  34. /* Possible display adapter types */
  35.  
  36. #define  MDA  1
  37. #define  CGA  2
  38. #define  EGA  4
  39.  
  40. /*  Possible video modes  */
  41.  
  42. /*  CGA */
  43. #define M40    0
  44. #define C40    1
  45. #define M80    2
  46. #define C80    3
  47. #define CMRES  4
  48. #define MMRES  5
  49. #define MHRES  6
  50.  
  51. /* MDA */
  52. #define MM80   7
  53.  
  54. /* Tandy & PCjr */
  55. #define TCLRES 8
  56. #define TMRES  9
  57. #define TCHRES 10
  58.  
  59. /* EGA */
  60. #define ECMRES 13
  61. #define ECHRES 14
  62. #define EMHRES 15
  63. #define EEHRES 16
  64.  
  65. /*  Video byte masks */
  66. #define CMASK  0x00FF   /* Character mask */
  67. #define AMASK  0xFF00   /* Attribute mask */
  68.  
  69. /* Modifiers for attribute bytes */
  70. #define BRIGHT  8
  71. #define BLINK   128
  72.  
  73. /*  Colors  */
  74. #define BLACK     0
  75. #define BLUE      1
  76. #define GREEN     2
  77. #define CYAN      3
  78. #define RED       4
  79. #define MAGENTA   5
  80. #define BROWN     6
  81. #define WHITE     7
  82. #define GRAY      8
  83. #define LTBLUE    9
  84. #define LTGREEN   10
  85. #define LTCYAN    11
  86. #define LTRED     12
  87. #define LTMAGENTA 13
  88. #define YELLOW    14
  89. #define LTBROWN   14     /*  alternate */
  90. #define LTWHITE   15
  91.  
  92. #define NORMAL    WHITE
  93. #define REVERSE   0X70
  94.  
  95. /* Characters used in drawing various box designs.  */
  96.  
  97. /* Single line boxes */
  98.  
  99. #define VLINE1   179
  100. #define HLINE1   196
  101. #define ULC11    218  /* First number is horizontal commponent */
  102. #define URC11    191
  103. #define LLC11    192
  104. #define LRC11    217
  105. #define TEEL11   195
  106. #define TEER11   180
  107. #define TEET11   194
  108. #define TEEB11   193
  109. #define CROSS11  197
  110.  
  111.  
  112. /* Double line boxes */
  113.  
  114. #define VLINE2   186
  115. #define HLINE2   205
  116. #define ULC22    201  /* First number is horizontal commponent */
  117. #define URC22    187
  118. #define LLC22    200
  119. #define LRC22    188
  120. #define TEEL22   204
  121. #define TEER22   185
  122. #define TEET22   203
  123. #define TEEB22   202
  124. #define CROSS22  206
  125.  
  126.  
  127. /* Double line Horizontal & single line vertical boxes */
  128.  
  129. #define ULC21    213  /* First number is horizontal commponent */
  130. #define URC21    184
  131. #define LLC21    212
  132. #define LRC21    190
  133. #define TEEL21   198
  134. #define TEER21   181
  135. #define TEET21   209
  136. #define TEEB21   207
  137. #define CROSS21  216
  138.  
  139.  
  140. /* Single line Horizontal & double line vertical boxes */
  141.  
  142. #define ULC12    214  /* First number is horizontal commponent */
  143. #define URC12    183
  144. #define LLC12    211
  145. #define LRC12    189
  146. #define TEEL12   199
  147. #define TEER12   182
  148. #define TEET12   210
  149. #define TEEB12   208
  150. #define CROSS12  215
  151.  
  152.  
  153. /* Special block graphic characters */
  154.  
  155. #define LT_BLOCK  144    /*  Light block like BLOCK below            */
  156. #define MED_BLOCK 145
  157. #define DRK_BLOCK 146
  158. #define BLOCK     219    /*  Solid Block filling character position */
  159. #define HBARB     220
  160. #define VBARL     221    /* Solid vertical bar to left side of char cell */
  161. #define VBARR     222
  162. #define HBART     223
  163.  
  164. /* Special characters */
  165. #define HAP_FAC     1
  166. #define RHAP_FAC    2
  167. #define HEART       3
  168. #define DIAMOND     4
  169. #define CLUB        5
  170. #define SPADE       6
  171. #define UP_ARROW    24
  172. #define DN_ARROW    25
  173. #define RT_ARROW    26
  174. #define LF_ARROW    27
  175.  
  176.  
  177.  
  178.